This invention relates, in general, to concurrency control, and in particular, to managing locks used for concurrency control, which are affected by a planned or unplanned reconfiguration of locking facilities.
Concurrency control is used to protect data shared by more than one operating system (either homogeneous or heterogeneous operating systems). In particular, concurrency control is used to manage access to the data by multiple tasks on multiple operating systems, thereby preventing corruption of the data. In one example, this concurrency control is handled through the use of locks.
Previously, locks have been directly tied to the data, such that any movement of the locks also required movement of the data associated with the locks. In one example, the locks are defined in the storage device (e.g., DASD) mechanism itself. That is a portion of the random access memory of the DASD control unit is used to maintain a set of locks for accessing each DASD unit. The control unit has a plurality of channel ports to which processors may be attached. Each channel port may hold one or more locks on one or more portions of a particular DASD as a proxy for the processor connected to that channel. The locks are managed based on the physical connection of the channel to the channel port.
The tying of data directly to the locks causes various problems. For example, a failure of the storage device requires not only recovery of the data, but also recovery of the locks. Further, any movement of the locks also affects movement of the associated data. Thus, a need exists for a facility in which locks can be recovered without affecting the location of the data associated with those locks.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of managing changes in locking configurations. The method includes, for instance, detecting a change in a locking configuration, the locking configuration including one or more locking facilities, and the one or more locking facilities including one or more locks; and redistributing at least one lock, in response to detecting the change in the locking configuration, wherein the redistributing is independent of the location of the data associated with the at least one lock in that the redistribution does not change where the data is stored.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Advantageously, the capabilities of the present invention enable locks to be managed independently of the data associated with those locks. The locks are stored in a facility that is remote from and independent of the mechanism used to store the data and of the operating systems using the data. Thus, the locks can be recovered independent from the data. Further, the locks can be moved from one locking facility to another locking facility without affecting the location of the data associated with those locks.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.